This invention relates generally to data storage systems, and more particularly to data storage systems adapted to reconstruct data.
As is known in the art, large mainframe computer systems require large capacity data storage systems. These large main frame computer systems generally includes data processors which perform many operations on data introduced to the computer system through peripherals including the data storage system. The results of these operations are output to peripherals, including the storage system.
One type of data storage system is a magnetic disk storage system. Here a bank of disk drives and the main frame computer system are coupled together through an interface. The interface includes CPU, or "front end", controllers and "back end" disk controllers. The interface operates the controllers in such a way that they are transparent to the computer. That is, data is stored in, and retrieved from, the bank of disk drives in such a way that the mainframe computer system merely thinks it is operating with one mainframe memory. One such system is described in U.S. Pat. No. 5,206,939, entitled "System and Method for Disk Mapping and Data Retrieval", inventors Moshe Yansi, Natan Vishlitzky, Bruno Altersu and Daniel Castel, issued Apr. 27, 1993, and assigned to the same assignee as the present invention.
In one such system, a redundant disk drive is provided for each of a set of disk drives. This redundant disk drive stores data, i.e., a parity bit, which is generated as a result of providing an exclusive OR function on the data in each of the other disk drives in the set. If one of the disk drives in the set fails, the failed disk drive is replaced and the data in the failed disk drive is reconstructed by providing an exclusive OR function on the data in the redundant disk drive and in the non-failed ones of the set of disk drives. For example, if the system has as the set of disk drives four disk drives, A, B, C, and D, and a redundant disk drive R, and the data in the disk drives A, B, C and D is 0010, the data in the redundant disk drive R is 0.sym.0.sym.1.sym.0=1, where .sym. is an exclusive OR function. Now, if disk drives B fails, for example, the data in disk drive B is reconstructed by performing the function A.sym.C.sym.D.sym.R=B', here 0.sym.1.sym.0.sym.1=0, which is now written into a disk drive B' which replaced disk drive B.
In the system described above, each disk drive has associated with it exclusive OR gate logic. The process for performing the exclusive OR function among the four disk drives, A, B, C and D, as when generating the data for disk drive R, or among disk drives A, C, D, and R when generating the reconstructed data for replacement disk drive B' requires that the data be placed on the data bus eight times. In the example above, in generating the data for redundant disk drive R, the data in disk drive A is read, placed on a data bus, stored in a memory, then read from memory, placed on the data bus and written into, and exclusive ORd with, the data in disk drive B. The process repeats for disk drives B, C, D and R. Thus, as noted above, the data bus is used in this example eight times, i.e., during each of four read/write cycles. Further, the system requires special disk drives having the exclusive OR function.